In an increasingly networked society, users frequently use data networks to perform a variety of tasks formerly performed in person. For example, a user may purchase an item from a network-based retailer using his or her computing device. In yet another example, the user may employ a banking service to check account balances, pay bills, schedule transfers, and the like. As a result, providers of network-based services face a number of pre- and post-sale contacts with their customers. Systems, such as call centers have been developed as a centralized, scalable mechanism to handle the volume of calls across a variety of contact contexts, including, for example, sales and marketing contacts, technical support, and billing. However, call centers suffer from a variety of shortcomings.
For example, the availability of call center agents is typically based upon predetermined hours. However, predetermined hours of contact availability may become out of synch or outdated with respect to actual agent availability with relative ease. For example, special events (e.g., holidays), time changes, network outages, over/understaffing, and the like may each influence the availability of agents in ways that are not reflected in hourly availability ranges. As a result, the availability of call center agents may be incorrectly reported to users, potentially frustrating users who wish to contact a call center agent.